package com.witker.common.base;


import com.baomidou.mybatisplus.extension.service.IService;
import com.witker.common.DataPage;

import java.util.List;

/**
 * 模块业务控制器的基类
 * Created by BOCAI on 2018/9/15 19:57.
 */
public interface ModuleService<T> extends IService<T> {

    /**
     *根据过滤条件检索相应数据信息,并将查询结果保存至实体
     * @param bean 保存过滤条件的实体
     * @return 成功返回数据实体对象,否则返回null
     */
    T bean(T bean);

    /**
     * 根据过滤条件检索相应数据信息,并将查询结果保存至实体
     * @param bean 保存过滤条件的实体
     * @return 成功返回数据实体List对象,否则返回null
     */
    List<T> beans(T bean);

    /**
     * 根据过滤条件、分页条件、排序条件检索相应数据信息,并将查询结果保存至实体
     * @param bean 保存过滤条件的实体
     * @param dataPage 分页实体
     * @param isAsc 是否升序
     * @param orderBy 排序条件
     * @return 成功返回数据实体List对象,否则返回null
     */
    List<T> beans(T bean, DataPage dataPage, boolean isAsc, String... orderBy);
}
